package com.hs.egova.mapping;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

/**
 * @author husheng
 * @version v1.0
 * @date 2021/7/30 18:53
 * @email husheng@egova.com.cn
 */
public class PartyOrg implements Serializable {

    private static final long serialVersionUID = -7807054463700624461L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty("")
    @Column(name = "id")
    private Integer id;

    @ApiModelProperty("社区编码")
    @Column(name = "community_id")
    private Integer communityId;

    @ApiModelProperty("所属社区")
    @Column(name = "community_Name")
    private String communityName;

    @ApiModelProperty("通讯地址")
    @Column(name = "contact_address")
    private String contactAddress;

    @ApiModelProperty("传真号码")
    @Column(name = "contact_const_num")
    private String contactConstNum;

    @ApiModelProperty("企业控制（控股）情况")
    @Column(name = "corporate_hoding")
    private String corporateHoding;

    @ApiModelProperty("法人单位标识")
    @Column(name = "corporate_identity")
    private String corporateIdentity;

    @ApiModelProperty("法人代表（单位负责人）")
    @Column(name = "corporate_rep")
    private String corporateRep;

    @ApiModelProperty("是或者否")
    @Column(name = "corporate_rep_party")
    private String corporateRepParty;

    @ApiModelProperty("法人代表是否党员标识 默认0 0 -否 1-是")
    @Column(name = "corporate_rep_party_flag")
    private String corporateRepPartyFlag;

    @ApiModelProperty("企业规模")
    @Column(name = "corporate_scale")
    private String corporateScale;

    @ApiModelProperty("创建时间")
    @Column(name = "create_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp createTime;

    @ApiModelProperty("区域代码")
    @Column(name = "district_id")
    private Integer districtId;

    @ApiModelProperty("所属区域")
    @Column(name = "district_Name")
    private String districtName;

    @ApiModelProperty("在岗职工数（人）")
    @Column(name = "employee_on_duty_num")
    private Integer employeeOnDutyNum;

    @ApiModelProperty("网格编码")
    @Column(name = "grid_id")
    private Integer gridId;

    @ApiModelProperty("所属网格")
    @Column(name = "grid_Name")
    private String gridName;

    @ApiModelProperty("户数（户）")
    @Column(name = "household_num")
    private Integer householdNum;

    @ApiModelProperty("录入人员标识")
    @Column(name = "human_id")
    private Integer humanId;

    @ApiModelProperty("录入人员名称")
    @Column(name = "human_name")
    private String humanName;

    @ApiModelProperty("事业单位类别标识")
    @Column(name = "institution_type_id")
    private Integer institutionTypeId;

    @ApiModelProperty("事业单位类别")
    @Column(name = "institution_type_name")
    private String institutionTypeName;

    @ApiModelProperty("中介组织标识")
    @Column(name = "intermediary_org")
    private String intermediaryOrg;

    @ApiModelProperty("中介组织标识标识 默认为0 0 -否 1-是")
    @Column(name = "intermediary_org_flag")
    private Integer intermediaryOrgFlag;

    @ApiModelProperty("是否建有工会")
    @Column(name = "labour_union")
    private String labourUnion;

    @ApiModelProperty("是否建有工会标识 默认为0 0 -否 1-是")
    @Column(name = "labour_union_flag")
    private Integer labourUnionFlag;

    @ApiModelProperty("百度坐标纬度")
    @Column(name = "latitude")
    private Double latitude;

    @ApiModelProperty("百度坐标经度")
    @Column(name = "longitude")
    private Double longitude;

    @ApiModelProperty("党组织介绍")
    @Column(name = "org_introduction")
    private String orgIntroduction;

    @ApiModelProperty("阵地介绍")
    @Column(name = "org_position")
    private String orgPosition;

    @ApiModelProperty("党组织代码")
    @Column(name = "party_code")
    private String partyCode;

    @ApiModelProperty("党组织名称")
    @Column(name = "party_name")
    private String partyName;

    @ApiModelProperty("党组织所在行政区划")
    @Column(name = "party_org_adm_division")
    private String partyOrgAdmDivision;

    @ApiModelProperty("建立党组织日期")
    @Column(name = "party_org_build_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date partyOrgBuildTime;

    @ApiModelProperty("党组织联系人")
    @Column(name = "party_org_contact_human")
    private String partyOrgContactHuman;

    @ApiModelProperty("党组织联系电话")
    @Column(name = "party_org_contact_phone")
    private String partyOrgContactPhone;

    @ApiModelProperty("属地关系")
    @Column(name = "party_org_relation")
    private String partyOrgRelation;

    @ApiModelProperty("党组织书记")
    @Column(name = "party_org_secretary")
    private String partyOrgSecretary;

    @ApiModelProperty("党组织类别标识")
    @Column(name = "party_org_type_id")
    private Integer partyOrgTypeId;

    @ApiModelProperty("党组织类别")
    @Column(name = "party_org_type_name")
    private String partyOrgTypeName;

    @ApiModelProperty("人口（人）")
    @Column(name = "person_num")
    private Integer personNum;

    @ApiModelProperty("邮编")
    @Column(name = "postcode")
    private String postcode;

    @ApiModelProperty("民营科技企业标识标识 默认为0 0 -否 1-是")
    @Column(name = "private_tec_flag")
    private Integer privateTecFlag;

    @ApiModelProperty("单位隶属关系")
    @Column(name = "ref_unit_dependency")
    private String refUnitDependency;

    @ApiModelProperty("党组织所在单位情况")
    @Column(name = "ref_unit_info")
    private String refUnitInfo;

    @ApiModelProperty("单位名称")
    @Column(name = "ref_unit_name")
    private String refUnitName;

    @ApiModelProperty("单位建立党组织情况")
    @Column(name = "ref_unit_party_build_info")
    private String refUnitPartyBuildInfo;

    @ApiModelProperty("单位性质类别标识")
    @Column(name = "ref_unit_type_id")
    private Integer refUnitTypeId;

    @ApiModelProperty("单位性质类别")
    @Column(name = "ref_unit_type_name")
    private String refUnitTypeName;

    @ApiModelProperty("社会统一信用代码")
    @Column(name = "social_credit_code")
    private String socialCreditCode;

    @ApiModelProperty("社会服务机构类别标识")
    @Column(name = "social_service_type_id")
    private Integer socialServiceTypeId;

    @ApiModelProperty("社会服务机构类别")
    @Column(name = "social_service_type_name")
    private String socialServiceTypeName;

    @ApiModelProperty("拆分党组织标识")
    @Column(name = "split_from_party_id")
    private Integer splitFromPartyId;

    @ApiModelProperty("街道编码")
    @Column(name = "street_id")
    private Integer streetId;

    @ApiModelProperty("所属街道")
    @Column(name = "street_Name")
    private String streetName;

    @ApiModelProperty("在岗专业技术人员数（人）")
    @Column(name = "technical_num")
    private Integer technicalNum;

    @ApiModelProperty("座机号码")
    @Column(name = "telephone_number")
    private String telephoneNumber;

    @ApiModelProperty("党组织树编码")
    @Column(name = "tree_code")
    private String treeCode;

    @ApiModelProperty("党组织树级别")
    @Column(name = "tree_level")
    private Integer treeLevel;

    @ApiModelProperty("在岗职工中工人数（人）")
    @Column(name = "worker_num")
    private Integer workerNum;

    /*@Transient
    @ApiModelProperty(value = "党组织介绍附件多媒体")
    private List<PubMedia> orgIntroductionMediaList;

    @Transient
    @ApiModelProperty(value = "阵地介绍附件多媒体")
    private List<PubMedia> orgPositionMediaList;*/
}
